package com.desire.homework;

import java.util.Arrays;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class _25_统计字符出现次数 {
    public static void main(String[] args) {
        int i = singleCharNum("qwerqwertttt", "tttt");
        System.out.println(i);

        String s = "java-ajavajavajavabc-mysqljavascript-aajava 16ajav";
        String d = "java";
        //正则表达式
        Pattern p = Pattern.compile(d);
        Matcher m = p.matcher(s);
        int nn = 0;
        while (m.find()) {
            ++nn;
            // System.out.printf("%s ", m.group());
        }
        System.out.printf("%s 在 %s 中出现了 %d 次。%n", d, s, nn);


        String ss = "javaas";
        System.out.println(Arrays.toString(ss.split("java")));

        // split() 方法根据匹配给定的正则表达式来拆分字符串。
        int n = ss.split("java").length > 0 ? ss.split("java").length - 1 : 0;
        // 测试此字符串是否以指定的后缀结束
        if (ss.endsWith("java")) {
            n += 1;
        }
        System.out.println(n);

    }

    public static int singleCharNum(String str, String searchStr) {
        int num = 0;
        if (str.contains(searchStr)) {
            // int indexOf(String str): 返回指定字符在字符串中第一次出现处的索引，
            // 如果此字符串中没有这样的字符，则返回 -1
            int index = str.indexOf(searchStr);
            while (index != -1) {
                ++num;
                index = str.indexOf(searchStr, index + searchStr.length());
            }
        }
        return num;
    }

    /*
    // 单个字符搜索
     public static int singleCharNum(String str, String searchStr) {
        int count = 0;
        char[] charArray = str.toCharArray();
        for (char item : charArray) {
            if (item == searchStr) {
                count++;
            }
        }
        return count;
    }

    * */
}
